$(function(){

	var car_id = 0;
	var car_status = 0;
	var car_depnum = '';
	var car_title = '';
	
	var cars_area_full = true;

// Напоминание о выборе строки
	function selRowPlease() {
		app.alert('AlertDlg', 'Внимание', "Пожалуйста, выберите строку в таблице.", 'app-icon-stop32');
	}
	function selOnePlease() {
		app.alert('AlertDlg', 'Внимание', "Пожалуйста, выберите только одну строку в таблице.", 'app-icon-stop32');
	}
	
	function isCarNotSel() {
		if( car_id == 0 ) {
			app.alert('AlertDlg', 'Внимание', "Пожалуйста, выберите автомобиль.", 'app-icon-stop32');
			return true;
		} else return false;
	}
	
    function Cars(area_id, caller) {
		var area = $('#'+area_id);
		var vdiv = area_id+'Tab';
		var me = this;

		area.html('<div id="'+vdiv+'Pager"></div><table id="'+vdiv+'"></table>');

		var pager_id = '#' + vdiv + 'Pager';
        var pager = $(pager_id);
		
		var el_status;
		
		var el_mot;
		var el_insur;
		
		var edit_div = 'div#editmod' + vdiv;

        var gritab;
        var col_order = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
        var col_names = ['ID', 'Статус', 'Номер', 'Марка,модель', 'Год выпуска', 'Объем,л.куб.', '№ кузова', 
						'Техосмотр', 'Страховка', 'Примечание' ];
        var col_model = [
		    { name: 'id', index: 'car_id', hidden: true, width: 1, editable: false, fixed: true },
		    { name: 'status', index: 'status', hidden: true, width: 1, editable: false, fixed: true },
			{ name: 'car_depnum', index:'car_depnum', hidden: false, width:100, editable: true,
            	editoptions: { style: "width:250px;" },
				formoptions: { label: '<div class="jqg-form-label">Гос.номер</div>'}
			},         
			{ name: 'car_model', index:'car_model', hidden: false, width:300, editable: true,
            	editoptions: { style: "width:250px;" },
				formoptions: { label: '<div class="jqg-form-label">Марка,модель</div>'}
			},         
			{ name: 'car_release', index:'car_release', hidden: false, width:100, editable: true,
            	editoptions: { style: "width:250px;" },
				formoptions: { label: '<div class="jqg-form-label">Год выпуска</div>'}
			},         
			{ name: 'car_engcap', index:'car_engcap', hidden: false, width:100, editable: true,
            	editoptions: { style: "width:250px;" },
				formoptions: { label: '<div class="jqg-form-label">Объем л.куб.</div>'}
			},         
			{ name: 'car_body', index:'car_body', hidden: false, width:120, editable: true,
            	editoptions: { style: "width:250px;" },
				formoptions: { label: '<div class="jqg-form-label">Номер кузова</div>'}
			},         
			{ name: 'car_mot', index:'car_mot', hidden: false, width:100, editable: true,
            	editoptions: { style: "width:250px;", dataInit: function (el) { el_mot = el; } },
				formoptions: { label: '<div class="jqg-form-label">Техосмотр</div>'}
			},         
			{ name: 'car_insur', index:'car_insur', hidden: false, width:100, editable: true,
            	editoptions: { style: "width:250px;", dataInit: function (el) { el_insur = el; } },
				formoptions: { label: '<div class="jqg-form-label">Страховка</div>'}
			},         
		    { name: 'car_comment', index: 'car_comment', hidden: false, width: 254, 
				editable: true, sortable: false, search: false,
		        editoptions: { maxlength: "128", style: "width:250px;" },
				formoptions: { label: '<div class="jqg-form-label">Примечание</div>'}
		    }			
        ];
        var jqgo = {
            url: 'index.php',
            editurl: 'index.php',
            datatype: 'json',
            postData: { q: 'cars/listcars' },
            emptyrecords: true,
            autowidth: false,
            gridview: true,
            hidegrid: false,
            hoverrows: true,
            recordpos: 'right',
            scrollrows: true,
            multiselect: true,
            multiselectWidth: 25,
            multiboxonly: true,
            mtype: 'POST',
            shrinkToFit: false,
            colNames: col_names,
            colModel: col_model,
            page: 1,
            pager: pager,
            pagerpos: 'right',
            rowNum: 15,
            rowList: [15, 50, 200],
            loadui: 'disable',
            toolbar: [false, 'top'],
            filterbar: false,
            height: area.innerHeight() - 75,
            width: area.innerWidth() - 2,
            sortname: 'car_depnum',
            sortorder: 'asc',
            sortable: true,
            caption: '',
            loadError: function (xhr, status, error) {
                alert("Ошибка загрузки даных");
            },
            loadComplete: function (data) {
                switch( data.userdata.errcode ) {
                    case 0:
                        break;
                    case 99:    
                        app.alert('AlertDlg', 'Ошибка', data.userdata.errmess, 'app-icon-stop32', caller.Close );
                        break;
                    default:
                        app.alert('AlertDlg', 'Ошибка', data.userdata.errmess, 'app-icon-stop32' );
                        break;
                }                
            },
            ondblClickRow: onEditClick,
			onSelectRow: function( id, st, e ) {
				if( st ) {
					car_id = id;
					car_status = gritab.getCell( id, 'status' );
					car_title = gritab.getCell( id, 'car_model' );
					car_depnum = gritab.getCell( id, 'car_depnum' );
					caller.RefreshSlave();
				}
				else ClearSlave();
			}
        };

// Создадим jqGrid
        gritab = $('#' + vdiv).jqGrid(jqgo);

// Очистка таблицы техобслуживаний
		function ClearSlave() {
			car_id = 0;
			car_status = 0;
			car_title = '';
			car_depnum = '';
			caller.RefreshSlave();
		}
		
// Индикация серверных ошибок добавления, ред., удал.
        function responseOnSubmit(response, postdata) {
            var rsp = $.parseJSON(response.responseText);
            var success = true;
            var msg = '';

            if (rsp.errcode) return [false, rsp.errmess];
            
			if( postdata.oper == 'del')	ClearSlave();
				
            return [success, msg];
        }


// Редактирование
        function onEditClick() { 
			var rowarr = gritab.getGridParam('selarrrow');
			if( rowarr.length == 0 ) { selRowPlease(); return; }
			if( rowarr.length > 1 ) { selOnePlease(); return; }
				
			var status = gritab.getCell( rowarr[0], 'status' );
			gritab.jqGrid('editGridRow', rowarr[0], {
				width: 400,
				resize: false,
                modal: true,
                jqModal: true,
				zIndex: app.ui_dialog_min_z_index+1,
                editData: { q: 'cars/updcar' },
				onInitializeForm: function( fm ) {
					$(fm).prepend('<style type="text/css">.ui-autocomplete {max-width:262px;}</style>'); 
				},
                afterShowForm: function(fm) {
					BindCalendar(fm, $(el_mot));
					BindCalendar(fm, $(el_insur));
					$(edit_div).css({'overflow':'visible'}).shadow();					
				},
                afterSubmit: responseOnSubmit,
                viewPagerButtons: false,
                closeAfterEdit: true,
				onClose: function() {
					$(el_mot).datepicker( "destroy" ).unbind();
					$(el_insur).datepicker( "destroy" ).unbind();
				}
			});
		}

// Навигатор - создаем панель инструментов
        gritab.jqGrid('navGrid', pager_id, {
				add:false,del:false,edit:false,view:false,search:false,refresh:false });
        
// Пользовательский навигатор - создать
        gritab.jqGrid('navButtonAdd', pager_id, {
            caption: 'Добавить',
            title: 'Создать запись',
            buttonicon: 'ui-icon-plus',
            onClickButton: function() { 
				gritab.jqGrid('editGridRow', 'new', {
					width: 400,
					resize: false,
                    modal: true,
                    jqModal: true,
					zIndex: app.ui_dialog_min_z_index+1,
                    editData: { q: 'cars/inscar' },
					onInitializeForm: function( fm ) {
						$(fm).prepend('<style type="text/css">.ui-autocomplete {max-width:262px;}</style>'); 
					},
                    afterShowForm: function(fm) {
						BindCalendar(fm, $(el_mot));
						BindCalendar(fm, $(el_insur));
						$(edit_div).css({'overflow':'visible'}).shadow();
					},
                    afterSubmit: responseOnSubmit,
                    closeAfterAdd: false,
					onClose: function() {
						$(el_mot).datepicker( "destroy" ).unbind();
						$(el_insur).datepicker( "destroy" ).unbind();
					}
				});
			}
        });

// Пользовательский навигатор - редактирование
        gritab.jqGrid('navButtonAdd', pager_id, {
            caption: 'Изменить',
            title: 'Редактировать выбранную запись',
            buttonicon: 'ui-icon-pencil',
            onClickButton: onEditClick,
        });
		
// Пользовательский навигатор - удаление
        gritab.jqGrid('navButtonAdd', pager_id, {
            caption: 'Удалить',
            title: 'Удаление выбранной записи',
            buttonicon: 'ui-icon-trash',
            onClickButton: function() { 
				var status, rowdis = false;
				var rowarr = gritab.getGridParam('selarrrow');
				var rowlist = rowarr.toString();
				if( !rowlist ) { selRowPlease(); return; }
				gritab.jqGrid('delGridRow', rowlist, {
                    modal: true,
                    jqModal: true,
                    width: 250,
					msg: '<table style="width:240px;margin-top:16px;"><tr><td style="width:50px;">'+
							'<div class="app-icon-quest32"></div></td><td>Удалить выбранную запись(и) ?</td></tr></table>',
					resize: false,
					zIndex: app.ui_dialog_min_z_index+1,
                    closeOnEscape: true,
                    delData: { q: 'cars/delcar' },
                    afterShowForm: function() { $('div#delmod' + vdiv).shadow(); },
                    afterSubmit: responseOnSubmit
				});
			}
        });
		
// Пользовательский навигатор - просмотр
        gritab.jqGrid('navButtonAdd', pager_id, {
            caption: 'Просмотр',
            title: 'Показать в виде формы',
            buttonicon: 'ui-icon-document',
            onClickButton: function() { 
				var rowlist = gritab.getGridParam('selarrrow');
				if( rowlist.length == 0 ) { selRowPlease(); return; }
				if( rowlist.length > 1 ) { selOnePlease(); return; }
				gritab.jqGrid('viewGridRow', rowlist[0], {
					width: 400,
					resize: true,
                    modal: true,
                    jqModal: true,
					zIndex: app.ui_dialog_min_z_index+1,
                    closeOnEscape: true,
                    viewPagerButtons: false,
					labelswidth: '35%',
					beforeShowForm: function(fm) {
						$(fm).find("table:first td").css({'white-space':'normal','vertical-align':'top'});
						$('div#viewmod' + vdiv).shadow(); 
					}
				});
			}
        });
		
// Пользовательский навигатор - обновить
		gritab.jqGrid('navButtonAdd',pager_id,{
			caption: 'Обновить',
			title: 'Обновить таблицу',
			buttonicon: 'ui-icon-refresh',
			onClickButton: function() { 
				gritab.trigger("reloadGrid");
				ClearSlave();
			}
		});    

// Пользовательский навигатор - техобслуживание
		gritab.jqGrid('navButtonAdd',pager_id,{
			caption: 'Техобслуживание',
			title: 'Показать/скрыть информацию по техобслуживанию',
			buttonicon: 'ui-icon-wrench',
			onClickButton: function() {
				if( cars_area_full ) {
					cars_area_full = false;
					area.css('height','40%');
				}
				else {
					cars_area_full = true;
					area.css('height','100%');					
				}
				me.Resize();
			}
		});    

// Делаем ширину панели кнопок максимальной
		$('td#'+area_id+'TabPager_center').width(2);
		
        gritab.filterToolbar({ searchOnEnter: false, afterSearch: function () { } });

// Прикрепить календарь к ячейке поиска
		BindCalendar( $("#gview_"+vdiv+" tr.ui-search-toolbar"), $("#gview_" + vdiv + " #gs_car_mot") );
		BindCalendar( $("#gview_"+vdiv+" tr.ui-search-toolbar"), $("#gview_" + vdiv + " #gs_car_insur") );
		
        function BindCalendar(fm, el) {
            $(el).datepicker({
				onClose: function(dt, inst) {				
					if( $(fm).hasClass('ui-search-toolbar') && dt != '' ) gritab[0].triggerToolbar();
				},
                dateFormat: "dd.mm.yy",
                showOn: "button",
                buttonImage: "img/calendar2.png",
                buttonImageOnly: true,
                buttonText: "Календарь",
                changeMonth: true,
                changeYear: true
            });

            fm.find(".ui-datepicker-trigger")
                .css({ 'cursor': 'pointer', 'position': 'relative', 'left': '-18px', 'top': '3px' });
            $(el).attr("title", "Формат ввода: 'дд.мм.гггг'");                
        }

		this.Destroy = function() {
			$("#gview_" + vdiv + " #gs_car_mot").datepicker( "destroy" ).unbind();
			$("#gview_" + vdiv + " #gs_car_insur").datepicker( "destroy" ).unbind();
			gritab.GridDestroy(vdiv);
			area.empty();
		};
		this.Resize = function() {
			gritab.setGridWidth( area.innerWidth() - 2 );
			gritab.setGridHeight( area.innerHeight() - 75 );
		};
		this.Refresh = function() {
			gritab.trigger("reloadGrid");
		};
		this.rowStatusRefresh = function() {
			var colarr = gritab.getCol('id');
			var visible = false;
			for( var i=0; i<colarr.length; i++ ) { if( colarr[i] == car_id ) { visible = true; break; } }
			if( !visible ) return;
            $.post('index.php', { q: 'cars/carstatus', car_id: car_id },
            function (rsp, textStatus) {
                if (rsp.errcode) {
					app.alert('AlertDlg', 'Ошибка', rsp.errmess, 'app-icon-stop32');
					return;
				}
				gritab.setCell( car_id, 'status', rsp.data );
            }, 'json');
		};


    };  // End of Cars function definition


    function CarServ(area_id, caller) {
		var area = $('#'+area_id);
		var vdiv = area_id+'Tab';

		area.html('<div id="'+vdiv+'Pager"></div><table id="'+vdiv+'"></table>');

		var pager_id = '#' + vdiv + 'Pager';
        var pager = $(pager_id);
		
		var el_date;
		
		var edit_div = 'div#editmod' + vdiv;

        var gritab;
        var col_order = [0, 1, 2, 3];
        var col_names = ['ID', 'Дата', 'Спидометр', 'Техобслуживание' ];
        var col_model = [
		    { name: 'id', index: 'crs_id', hidden: true, width: 1, editable: false, fixed: true },
			{ name: 'crs_date', index:'crs_date', hidden: false, width:100, editable: true,
            	editoptions: { style: "width:250px;", dataInit: function (el) { el_date = el; } },
				formoptions: { label: '<div class="jqg-form-label">Дата</div>'}
			},         
			{ name: 'crs_speedo', index:'crs_speedo', hidden: false, width:100, editable: true,
            	editoptions: { style: "width:250px;" },
				formoptions: { label: '<div class="jqg-form-label">Спидометр</div>'}
			},         
		    { name: 'crs_descrip', index: 'crs_descrip', hidden: false, width: 1000, editable: true, edittype: 'textarea',
                    editoptions: { maxlength: "1000", style: "width:252px; height:80px; resize:none;" }, 
					formoptions: { label: '<div class="jqg-form-label">Техобслуживание</div>'} 
			}								
        ];
        var jqgo = {
            url: 'index.php',
            editurl: 'index.php',
            datatype: 'json',
            postData: { q: 'cars/listserv' },
            emptyrecords: true,
            autowidth: false,
            gridview: true,
            hidegrid: false,
            hoverrows: true,
            recordpos: 'right',
            scrollrows: true,
            multiselect: true,
            multiselectWidth: 25,
            multiboxonly: true,
            mtype: 'POST',
            shrinkToFit: false,
            colNames: col_names,
            colModel: col_model,
            page: 1,
            pager: pager,
            pagerpos: 'right',
            rowNum: 15,
            rowList: [10, 40, 100],
            loadui: 'disable',
            toolbar: [false, 'top'],
            filterbar: false,
            height: area.parent().innerHeight() - 100,
            width: area.parent().innerWidth() - 2,
            sortname: 'crs_date',
            sortorder: 'desc',
            sortable: true,
            caption: '',
            loadError: function (xhr, status, error) {
                alert("Ошибка загрузки даных");
            },
            loadComplete: function (data) {
                switch( data.userdata.errcode ) {
                    case 0:
                        break;
                    case 99:    
                        app.alert('AlertDlg', 'Ошибка', data.userdata.errmess, 'app-icon-stop32', caller.Close );
                        break;
                    default:
                        app.alert('AlertDlg', 'Ошибка', data.userdata.errmess, 'app-icon-stop32' );
                        break;
                }                
            },
			beforeRequest: function() {
				$('#' + vdiv).jqGrid('setGridParam',{postData:{'car_id':car_id} });
			},
            ondblClickRow: onEditClick
        };

// Создадим jqGrid
        gritab = $('#' + vdiv).jqGrid(jqgo);

// Индикация серверных ошибок добавления, ред., удал.
        function responseOnSubmit(response, postdata) {
            var rsp = $.parseJSON(response.responseText);
            var success = true;
            var msg = '';

            if (rsp.errcode > 0) {
                success = false;
                msg = rsp.errmess;
            }
			else if( rsp.errcode < 0 )	//Предупреждения
				app.alert('AlertDlg', 'Предупреждение', rsp.errmess, 'app-icon-warn32');				
//			else
//				caller.MasterStatusRefresh();
			
            return [success, msg];
        }

		function onShowEditForm(fm) {
			BindCalendar(fm, $(el_date));
            $(edit_div).css({'overflow':'visible'}).shadow();
		}
		        
		function onCloseEditForm() {
			$(el_date).datepicker( "destroy" ).unbind();
			return true;
		}

        function onEditClick() { 
			var rowarr = gritab.getGridParam('selarrrow');
			if( rowarr.length == 0 ) { selRowPlease(); return; }
			if( rowarr.length > 1 ) { selOnePlease(); return; }
			gritab.jqGrid('editGridRow', rowarr[0], {
				width: 400,
				resize: false,
                modal: true,
                jqModal: true,
				zIndex: app.ui_dialog_min_z_index+1,
                editData: { q: 'cars/updserv', car_id: function() { return car_id; }  },
				onInitializeForm: function( fm ) {
					$(fm).prepend('<style type="text/css">.ui-autocomplete {max-width:252px;}</style>'); },
                afterShowForm: onShowEditForm,
                afterSubmit: responseOnSubmit,
                viewPagerButtons: false,
                closeAfterEdit: true,
				onClose: onCloseEditForm
			});
		}
		
// Навигатор - создаем панель инструментов
        gritab.jqGrid('navGrid', pager_id, {
				add:false,del:false,edit:false,view:false,search:false,refresh:false });
        
// Пользовательский навигатор - создать
        gritab.jqGrid('navButtonAdd', pager_id, {
            caption: 'Добавить',
            title: 'Создать запись',
            buttonicon: 'ui-icon-plus',
            onClickButton: function() { 
				if( isCarNotSel() ) return;
				gritab.jqGrid('editGridRow', 'new', {
					width: 400,
					resize: false,
                    modal: true,
                    jqModal: true,
					zIndex: app.ui_dialog_min_z_index+1,
                    editData: { q: 'cars/insserv', car_id: function() { return car_id; } },
					onInitializeForm: function( fm ) {
						$(fm).prepend('<style type="text/css">.ui-autocomplete {max-width:252px;}</style>'); },
                    afterShowForm: onShowEditForm,
                    afterSubmit: responseOnSubmit,
                    closeAfterAdd: false,
					onClose: onCloseEditForm
				});
			}
        });

// Пользовательский навигатор - редактирование
        gritab.jqGrid('navButtonAdd', pager_id, {
            caption: 'Изменить',
            title: 'Редактировать выбранную запись',
            buttonicon: 'ui-icon-pencil',
            onClickButton: onEditClick
        });
		
// Пользовательский навигатор - удаление
        gritab.jqGrid('navButtonAdd', pager_id, {
            caption: 'Удалить',
            title: 'Удаление выбранной записи',
            buttonicon: 'ui-icon-trash',
            onClickButton: function() { 
				var rowarr = gritab.getGridParam('selarrrow');
				if( rowarr.length == 0 ) { selRowPlease(); return; }
				if( isCarNotSel() ) return;
				gritab.jqGrid('delGridRow', rowarr.toString(), {
                    modal: true,
                    jqModal: true,
                    width: 250,
					msg: '<table style="width:240px;margin-top:16px;"><tr><td style="width:50px;">'+
							'<div class="app-icon-quest32"></div></td><td>Удалить выбранную запись(и) ?</td></tr></table>',
					resize: false,
					zIndex: app.ui_dialog_min_z_index+1,
                    closeOnEscape: true,
                    delData: { q: 'cars/delserv', car_id: function() { return car_id; }  },
                    afterShowForm: function() { $('div#delmod' + vdiv).shadow(); },
                    afterSubmit: responseOnSubmit
				});
			}
        });
/*
// Пользовательский навигатор - просмотр
        gritab.jqGrid('navButtonAdd', pager_id, {
            caption: 'Просмотр',
            title: 'Показать в виде формы',
            buttonicon: 'ui-icon-document',
            onClickButton: function() { 
				var rowarr = gritab.getGridParam('selarrrow');
				if( rowarr.length == 0 ) { selRowPlease(); return; }
				if( rowarr.length > 1 ) { selOnePlease(); return; }
				gritab.jqGrid('viewGridRow', rowarr[0], {
					width: 400,
					resize: true,
                    modal: true,
                    jqModal: true,
					zIndex: app.ui_dialog_min_z_index+1,
                    closeOnEscape: true,
                    viewPagerButtons: false,
					labelswidth: '35%',
					beforeShowForm: function(fm) { 
						$(fm).find("table:first td").css({'white-space':'normal','vertical-align':'top'});
						$('div#viewmod' + vdiv).shadow(); 
					}
				});
			}
        });
*/
// Пользовательский навигатор - обновить
		gritab.jqGrid('navButtonAdd',pager_id,{
			caption: 'Обновить',
			title: 'Обновить таблицу',
			buttonicon: 'ui-icon-refresh',
			onClickButton: function() { gritab.trigger("reloadGrid"); }
		});    

// Separator
        gritab.jqGrid('navSeparatorAdd', pager_id );

// Делаем ширину панели кнопок максимальной
		$('td#'+area_id+'TabPager_center').width(2);
		
        gritab.filterToolbar({ searchOnEnter: false, afterSearch: function () { } });
		
// Прикрепить календарь к ячейке поиска
		BindCalendar( $("#gview_"+vdiv+" tr.ui-search-toolbar"), $("#gview_" + vdiv + " #gs_crs_date") );

        function BindCalendar(fm, el) {
            $(el).datepicker({
				onClose: function(dt, inst) {				
					if( $(fm).hasClass('ui-search-toolbar') && dt != '' ) gritab[0].triggerToolbar();
				},
                dateFormat: "dd.mm.yy",
                showOn: "button",
                buttonImage: "img/calendar2.png",
                buttonImageOnly: true,
                buttonText: "Календарь",
                changeMonth: true,
                changeYear: true
            });

            fm.find(".ui-datepicker-trigger")
                .css({ 'cursor': 'pointer', 'position': 'relative', 'left': '-18px', 'top': '3px' });
            $(el).attr("title", "Формат ввода: 'дд.мм.гггг'");                
        }

		this.Destroy = function() {
			$("#gview_" + vdiv + " #gs_crs_date").datepicker( "destroy" ).unbind();
			gritab.GridDestroy(vdiv);
			area.find('*').remove();
		};
		this.Resize = function() {
			gritab.setGridWidth( area.parent().innerWidth() - 2 );
			gritab.setGridHeight( area.parent().innerHeight() - 100 );
		}
		this.Refresh = function() {
			gritab.trigger("reloadGrid");
		}

    };  // End of create function definition


	function CarsProxy() {
		var area;
		var cars_area, serv_area;
		var oCarsTab, oServTab;
		var active = false;
		var serv_area_title;
		
		this.Open = function( area_id ) {
			if( active  ) return;
			area = area_id;
			$('#'+area+'Title').show();
			cars_area = area_id + '_Cars';
			serv_area = area_id + '_Serv';
			serv_area_title = area_id + '_ServTitle';
			cars_area_full = true;
			$('#'+area_id).append(
				'<div style="position:absolute;bottom:0;right:0;width:100%;height:60%">'+
					'<span id="'+serv_area_title+'" style="line-height:24px;margin-left:8px;">'+
					'Выполнение техобслуживаний </span>'+
					'<div id="'+serv_area+'"></div>'+
				'</div>'
			);
			$('#'+area_id).append('<div id="'+
				cars_area+'" style="position:absolute;top:0;left:0;width:100%;height:100%"></div>');
				
			car_id = 0;
			oServTab = new CarServ( serv_area, this ); 
			$(window).bind( 'resize', oServTab.Resize );
			oCarsTab = new Cars( cars_area, this ); 
			$(window).bind( 'resize', oCarsTab.Resize );
			active = true;
		};
		this.Close = function() { 
			if( !active  ) return;
			$(window).unbind( 'resize', oCarsTab.Resize );
			$(window).unbind( 'resize', oServTab.Resize );
			oServTab.Destroy();
			oCarsTab.Destroy();
			$('#'+area).empty();
			$('#'+area+'Title').hide();
			active = false;
		};
		this.Resize = function() { 
			oServTab.Resize(); 
			oCarsTab.Resize(); 
		};
		this.RefreshSlave = function() { 
			$('#'+serv_area_title).html('Выполнение техобслуживаний <b>'+car_title+
				( car_title != '' ? ' гос.номер ' : '')+car_depnum+'</b>');
			oServTab.Refresh(); 
		};
		this.MasterStatusRefresh = function() { oCarsTab.rowStatusRefresh();	}
	}
	
	app.Cars = new CarsProxy();
	
    // ---------------------------------------------------------------------------
});
